#ifndef __GA_H__
#define __GA_H__

#include "population.h"
#include "genome.h"


class GA {

	private:
		unsigned int duration;

		int popSize;
		float replaceRate;
		float surviveRate;
		float mutRate;
		float crossRate;
		float bestScore;

		Population protagonist;
		Population antagonist;

		/** temporary genome space **/
		Genome** incubator;


	public:
		/** constructor **/
		GA(Population &pro, Population &anti, unsigned int dur, int p = 100, float m = 0.8, float c = 0.8, float r = 0.5, float s = 0.5);

		/** actual running **/
		Genome* run();
	private:
		bool stop();
	
};

#endif
